//package com.suncp;
//
//import org.springframework.core.io.ClassPathResource;
//
//import javax.servlet.http.HttpServletResponse;
//import java.io.*;
//import java.lang.reflect.Field;
//import java.util.Collection;
//import java.util.Map;
//
//public class TipUtil {
//    public static boolean isEmpty(Object pObj) {
//        if (pObj == null) {
//            return true;
//        } else if (pObj == "") {
//            return true;
//        } else {
//            if (pObj instanceof String) {
//                if (((String)pObj).length() == 0 || ((String)pObj).equals("undefined") || ((String)pObj).equals("null")) {
//                    return true;
//                }
//            } else if (pObj instanceof Collection) {
//                if (((Collection)pObj).size() == 0) {
//                    return true;
//                }
//            } else if (pObj instanceof Map && ((Map)pObj).size() == 0) {
//                return true;
//            }
//
//            return false;
//        }
//    }
//
//    public static boolean isNotEmpty(Object pObj) {
//        if (pObj == null) {
//            return false;
//        } else if (pObj == "") {
//            return false;
//        } else if (pObj == "null") {
//            return false;
//        } else {
//            if (pObj instanceof String) {
//                if (((String)pObj).length() == 0) {
//                    return false;
//                }
//            } else if (pObj instanceof Collection) {
//                if (((Collection)pObj).size() == 0) {
//                    return false;
//                }
//            } else if (pObj instanceof Map && ((Map)pObj).size() == 0) {
//                return false;
//            }
//
//            return true;
//        }
//    }
//
//    /**
//     * 获取上传文件路径
//     * @return
//     */
//    public static String getRealPath() {
//        try {
//            return new ClassPathResource("").getFile().getAbsolutePath();
//        }catch (IOException e) {
//            e.printStackTrace();
//            return "";
//        }
//    }
//
//    /**
//     * 下载文件
//     * @param response
//     * @param file
//     * @param fileName
//     * @return
//     */
//    public static String downloadFile(HttpServletResponse response, File file,String fileName) {
//        if(TipUtil.isEmpty(fileName)){
//            fileName = file.getName();
//        }
////        response.setHeader("content-type", "application/octet-stream");
////        response.setContentType("application/octet-stream");
////        try {
////            response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
////        } catch (UnsupportedEncodingException e2) {
////            e2.printStackTrace();
////        }
//        byte[] buff = new byte[1024];
//        BufferedInputStream bis = null;
//        OutputStream os = null;
//        try {
//            os = response.getOutputStream();
//            bis = new BufferedInputStream(new FileInputStream(file));
//            int i = bis.read(buff);
//            while (i != -1) {
//                os.write(buff, 0, buff.length);
//                os.flush();
//                i = bis.read(buff);
//            }
//        } catch (FileNotFoundException e1) {
//            //e1.getMessage()+"系统找不到指定的文件";
//            return "系统找不到指定的文件";
//        }catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            if (bis != null) {
//                try {
//                    bis.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//        return "success";
//    }
//
//    /**
//     * 获取to_date SQL字符串,数据库兼容
//     * @param date
//     * @return
//     */
//    public static String getSqlDate(String date){
//        if(TipUtil.isEmpty(date)){date= DateUtil.getDate();}
//        String database = PropertyHolder.getStringByConfig("database");
//        String str="";
//        if("mysql".equals(database)){
//            str="date_format('"+date+"','%Y-%m-%d')";
//        }else{
//            str="to_date('"+date+"','yyyy-mm-dd')";
//        }
//        return str;
//    }
//
//    /**
//     * 获取to_date SQL字符串（带时分秒）
//     * @param date
//     * @return
//     */
//    public static String getSqlDateFull(String date){
//        if(TipUtil.isEmpty(date)){date= DateUtil.getDateTime();}
//        String database = PropertyHolder.getStringByConfig("database");
//        String str="";
//        if("mysql".equals(database)){
//            str="date_format('"+date+"','%Y-%m-%d %H:%i:%s')";
//        }else{
//            str="to_date('"+date+"','yyyy-mm-dd hh24:mi:ss')";
//        }
//        return str;
//    }
//    /**
//     * 根据属性，获取get方法
//     * @param ob 对象
//     * @param name 属性名
//     * @return
//     * @throws Exception
//     */
//    public static Object getGetMethod(Object ob , String name){
//        try {
//            Field field = ob.getClass().getDeclaredField(name);
//            field.setAccessible(true);
//            return field.get(ob);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return 0;
//    }
//
//    /**
//     * 根据属性，获取get方法返回值类型为String
//     * @param ob
//     * @param name
//     * @return String
//     */
//    public static String getGetMethodStr(Object ob , String name){
//        String getMethod = TipUtil.isEmpty(getGetMethod(ob, name))?"":getGetMethod(ob, name).toString();
//        return getMethod;
//    }
//
//    /**
//     * 根据属性，拿到set方法，并把值set到对象中
//     */
//    public static void setValue(Object ob, String name,Object value){
//        try {
//            Field field = ob.getClass().getDeclaredField(name);
//            field.setAccessible(true);
//            field.set(ob, value.toString());
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//}
